#include "gtkintl.h"
#include "gtktypebuiltins.h"
#include "gtkwidgetprivate.h"
+#include "gtkwindowprivate.h"
#include "deprecated/gtktearoffmenuitem.h"
GdkScreen *pointer_screen;
GdkRectangle monitor;
GdkDevice *pointer;
+ GtkBorder border;
widget = GTK_WIDGET (menu);
* the right place to popup the menu.
*/
gtk_widget_realize (priv->toplevel);
- requisition.width = gtk_widget_get_allocated_width (widget);
- requisition.height = gtk_widget_get_allocated_height (widget);
+
+ _gtk_window_get_shadow_width (GTK_WINDOW (priv->toplevel), &border);
+
+ requisition.width = gtk_widget_get_allocated_width (widget)- border.left - border.right;
+ requisition.height = gtk_widget_get_allocated_height (widget) - border.top - border.bottom;
if (pointer_screen != screen)
{
x = CLAMP (x, monitor.x, MAX (monitor.x, monitor.x + monitor.width - requisition.width));
+ x -= border.left;
+ y -= border.top;
+
if (GTK_MENU_SHELL (menu)->priv->active)
{
priv->have_position = TRUE;